#pragma once  // 防止头文件重复编译
#include <iostream>
#include <string>
using namespace std;
template<class T1, class T2>
class Person2
{
public:
    T1 m_name;
    T2 m_age;
    Person2();
    Person2(T1 name, T2 age);
    void show();
};
template<class T1, class T2>
Person2<T1, T2>::Person2() {}
template<class T1, class T2>
Person2<T1, T2>::Person2(T1 name, T2 age)
{
    this->m_name = name;
    this->m_age = age;
}
template<class T1, class T2>
void Person2<T1, T2>::show()
{
    cout << "name: " << m_name << "  age: " << m_age << endl;
}
